package com.pe.pgn.clubpgn.service;

import java.util.List;
import com.pe.pgn.clubpgn.domain.ClpbClienteEmpresa;
import com.pe.pgn.clubpgn.domain.beans.BNClienteEmpresa;

public interface ClienteEmpresaService extends  GenericManager<ClpbClienteEmpresa, Long> 
{
	public List<BNClienteEmpresa> obtenerClienteEmpresas(boolean esInicial);
	public void  guardarClienteEmpresa(ClpbClienteEmpresa clienteEmpresa);
	public void  guardarClienteEmpresaEstacion(ClpbClienteEmpresa clienteEmpresa);
	public void  guardarClienteEmpresaTope(ClpbClienteEmpresa clienteEmpresa);
	public void  eliminarTope(Long id);
	public BNClienteEmpresa obtenerClienteEmpresa(Long clienteEmpresaID, Long flotaID);
	public BNClienteEmpresa obtenerClienteEmpresaEstacion(Long id);
	public BNClienteEmpresa obtenerClienteEmpresaTope(Long id);
	public void eliminarClienteEmpresa(Long id);
	public List<BNClienteEmpresa> busquedaClientesPorFiltros(String deClienteEmpresa, String coRuc, Long lineaCreditoMinima, Long lineaCreditoMaxima, String coTipoLineaCredito,String habilitado);
	public List<BNClienteEmpresa> busquedaClientesWizzar(String deClienteEmpresa, String coRuc, String deAlias,String habilitado);
	public int validaRazonSocial(String deNombreCliente);
	public int validaRuc(String coRuc);
	public int validaAlias(String coAlias);
	public int validaRazonSocial(Long id, String deNombreCliente);
	public int validaRuc(Long id, String coRuc);
	public int validaAlias(Long id, String coAlias);
	public ClpbClienteEmpresa obtenerClienteEmpresaByID(Long id);
	public BNClienteEmpresa obtenerBNClienteEmpresaByID(Long clienteEmpresaID);
	public String verificarTopes(ClpbClienteEmpresa clienteEmpresa);
	public void guardarClientesEmpresaEstacion(Long idEstacion, boolean stEstacion, boolean isNew);
	public void guardarClienteEmpresaPorLineaCredito(
			ClpbClienteEmpresa clienteEmpresa);
	public List<BNClienteEmpresa> obtenerClienteEmpresasConLineaCredito(boolean esInicial);
	public List<BNClienteEmpresa> busquedaClientesPorFiltrosConLineaCredito(
			String deNombreEmpresa, String deRuc, Long lineaCreditoMinima,
			Long lineaCreditoMaxima, String tipoLineaCredito,
			String stHabilitado);

}
